import { ref, computed } from 'vue'

export default function useFilteredTodos(todos) {
  const filter = ref("all"); // 筛选器默认选中 all
  // filteredTodos 函数：
  const filteredTodos = computed(() => {
    switch(filter.value) {
      case "done":
        return todos.value.filter((todo) => todo.completed);
      case "todo":
        return todos.value.filter((todo) => !todo.completed);
      case "all":
        return todos.value;
      default:
        return [];
    }
  })

  return {
    filter, // 变量：String 类型，保存子组件 todo_filter 中选中的状态，例如：all
    filteredTodos, // 方法：根据 filter 的值，来筛选 todos 中相应的代办，并保存下来
  }
}